package com.zbkj.crmeb.store.model;

import com.crmeb.core.annotation.ConvertType;
import com.crmeb.core.annotation.UnitConvert;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zbkj.crmeb.export.vo.ExcelColumn;
import com.zbkj.crmeb.store.response.StoreCartResponse;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 订单表
 * </p>
 *
 * @author Mr.Zhang
 * @since 2020-05-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="StoreOrderProduct对象", description="订单商品表")
public class StoreOrderProduct implements Serializable {

    private static final long serialVersionUID=1L;

    //----订单
    @ApiModelProperty(value = "order表主键")
    private Integer id;

    @ApiModelProperty(value = "用户id")
    private Integer uid;

    @ApiModelProperty(value = "支付状态")
    private Boolean paid;

    @ApiModelProperty(value = "支付方式")
    private String payType;

    @ApiModelProperty(value = "订单来源（1 : 寻物 2：天猫")
    private String source;

    @ApiModelProperty(value = "实际支付金额")
    private BigDecimal payPrice;

    @ApiModelProperty(value = "配送方式 1=快递 ，2=门店自提")
    private Integer shippingType;

    @ApiModelProperty(value = "后台是否删除")
    private Boolean isSystemDel;

    @ApiModelProperty(value = "是否删除(0：未删除；1：删除)")
    private Boolean isDel;

    @ApiModelProperty(value = "收货人身份证号")
    private String idCard;

    @ApiModelProperty(value = "收货人所在省")
    private String province;

    @ApiModelProperty(value = "收货人所在市")
    private String city;

    @ApiModelProperty(value = "收货人所在区")
    private String district;

    @ApiModelProperty(value = "收货人详细地址")
    private String detail;

    @ApiModelProperty(value = "收货人姓名")
    private String realName;

    @ApiModelProperty(value = "收货人电话")
    private String userPhone;

    @ApiModelProperty(value = "物流方式")
    private String logisticsMode;

    @ApiModelProperty(value = "发货地")
    private String tempName;

    @ApiModelProperty(value = "下单时间")
    private Date createTime;

    @ApiModelProperty(value = "下单人")
    private String createName;

    @ApiModelProperty(value = "推广人")
    private String StoreOrderSpreadInfo;

    @ApiModelProperty(value = "商户ID")
    private Integer merId;

    @ApiModelProperty(value = "商户名称")
    private String merName;

    @ApiModelProperty(value = "订单号")
    private String orderId;

    @ApiModelProperty(value = "退款金额")
    private String refundPrice;

    @ApiModelProperty(value = "退款状态 0 未退款 1 申请中 2 退货退款 3补偿性退款")
    private Integer refundStatus;

    @ApiModelProperty(value = "退款状态描述")
    private String refundStatusStr;

    @ApiModelProperty(value = "退款时间")
    private Date refundReasonTime;

    @ApiModelProperty(value = "订单状态")
    private Integer status;

    @ApiModelProperty(value = "订单状态描述")
    private String statusStr;

    @ApiModelProperty(value = "'区域类型: 1 国内，2 港澳，3 海外',")
    private Integer areaType;

    //-------------订单详情表
    @ApiModelProperty(value = "order_info 表主键")
    private Integer infoId;

    @ApiModelProperty(value = "购买东西的详细json字符串")
    private String infoStr;

    @ApiModelProperty(value = "购买东西的详细信息")
    private StoreCartResponse info;

    @ApiModelProperty(value = "数量")
    private Integer amount;

    @ApiModelProperty(value = "商品Id")
    private String productId;

    @ApiModelProperty(value = "商品名")
    private String storeName;

    @ApiModelProperty(value = "国际编码")
    private String keyword;

    @ApiModelProperty(value = "商品规格")
    private String specification;

    @ApiModelProperty(value = "商品订单号")
    private String productOrderId;

    //---------------商品
    @ApiModelProperty(value = "供应商id")
    private String suppliersId;

    @ApiModelProperty(value = "供应商名称")
    private String suppliersName;

    @ApiModelProperty(value = "商品价格")
    private BigDecimal price;

    @ApiModelProperty(value = "分类id")
    private String cateId;

    @ApiModelProperty(value = "运费模版ID")
    private Integer tempId;

    @ApiModelProperty(value = "是否是欧洲商品")
    private Integer isEurope;

    @ApiModelProperty(value = "邮费")
    private BigDecimal postage;

    @ApiModelProperty(value = "市场价/原价(元)")
    private BigDecimal otPriceCNY;

    @ApiModelProperty(value = "市场价/原价(欧元)")
    private BigDecimal otPrice;

    @ApiModelProperty(value = "成本价/元")
    private BigDecimal cost;

    @ApiModelProperty(value = "成本价/欧元")
    private BigDecimal costEUR;

    @ApiModelProperty(value = "商品图片")
    private String image;

    //------商品物流表
    @ApiModelProperty(value = "快递公司名称")
    private String deliveryCompany;

    @ApiModelProperty(value = "发货时间")
    private String deliveryTime;

    @ApiModelProperty(value = "快递单号")
    private String deliveryNumber;

    @ApiModelProperty(value = "子订单号")
    private String childOrderNumber;

}
